package com.y.tomcat;

/**
 * @Auther:云尚学Java
 */
public interface Servlet {
    //所有java类对外提供服务方法名
    void service(String method);
    /**
     * 随着时间的推移，在Service接口出现了一些新的方法
     * </hr>
     * 注意这些新的方法不是所有动态资源文件都需要的方法
     * </hr>
     * 产生了一个问题。开发人员开发动态资源文件时必须对不需要的方法进行重写，增加开发人员负担
     * 要求对当前结构进行调整。确保动态资源文件作为Servlet接口实现类，只需要重写service方法不需要
     * 重写其他方法-----【适配器设计模式】
     */
    public void init();//对资源文件对象的属性进行初始化
    public void destory();//在动态资源文件对象被销毁前进行收尾工作


    /**
     * 适配器设计模式
     *
     * 1.解决问题： 降低开发人员进行【接口实现类】开发时难度
     *       使得开发人员对实现的【接口】中的抽象方法进行有选择性的重写
     * 2.解决方案;通过【抽象类】将【接口】与【接口实现类】进行【解耦合】
     * 3.依赖
     * interface 接口{
     *     public void 不需要方法1();
     *     public void 不需要方法2();
     *     public void 不需要方法3();
     *     public void 大家都需要方法()规则;
     *             1.父类是某个接口的实现类，其子类身份也是接口的实现类
     *             2.抽象类实现接口时，可以有选择性的对接口方法进行重写
     *             对于抽象类没有实现的抽象方法，则必须有抽象类的子类完成【父债子还】
     *
     * }
     *
     * abstract 抽象类 implements 接口{
     *     public void 不需要方法1（）{}
     *     public void 不需要方法2（）{}
     *     public void 不需要方法3（）{}
     * }
     *
     * class 接口实现类1 extends 抽象类{
     *     public void 大家都需要方法（）；{}
     * }
     *
     *  class 接口实现类2 extends 抽象类{
     *      public void 大家都需要方法（）；{}
     *  }
     */
}
